package com.atguigu.user.service;

import com.atguigu.param.UserCheckParam;
import com.atguigu.param.UserLoginParam;
import com.atguigu.pojo.User;
import com.atguigu.utils.R;

/**
 * @author 张三禾
 * @create 2023-03-02 19:25
 * @Description
 */
public interface UserService {
    /**
     * 检查账号是否可用业务
     * @param userCheckParam 账号参数 已经校验完毕
     * @return 检查结果 001  004
     */
    R check(UserCheckParam userCheckParam);

    /**
     * 注册业务
     *  1. 检查账号是否存在
     *  2. 密码加密处理
     *  3. 插入数据库数据
     *  4. 返回结果
     * @param user 参数已经校验，但是密码是明文
     * @return 结果 001 004
     */
    R register(User user);

    /**
     * 登录业务
     *
     * @param userLoginParam 已经校验，但是密码是明文
     * @return 结果 001 004
     */
    R login(UserLoginParam userLoginParam);
}
